* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    top: 0;
    left: 0;
    text-align: center;
}

html {
    font-size: 11pt;
    font-family: sans-serif;
    overflow-x: hidden;
    margin: 0 auto;
}

h1, h2, h3, h4 {
    font-family: "Josefin Sans", sans-serif;
}

h1, h2 {
    margin: 20px;
}

h1, h3 {
    font-weight: 600;
}

h2, h4 {
    font-weight: 400;
}

h1 {
    font-size: 50pt;
}

h2 {
    font-size: 35pt;
}

h3 {
    font-size: 20pt;
}

h4, header a, .tagline {
    font-size: 15pt;

}

li a {
    text-decoration: none;
}

.italic {
    font-style: italic;
}


/* HEADER STYLING BELOW */


header {
    position: fixed;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    background-color: white;
    top: 0;
    width: 100vw;
    padding: 20px 10px;
    z-index: 1;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 40%);
}

.logo a {
    display: inline-flex;
    justify-content: left;
    align-items: center;
    color: rgb(4, 139, 218);
    text-decoration: none;
}

.logo i {
    padding-right: 10px;
    display: inline-flex;
    justify-content: left;
}

.nav-bar {
    width: 50%;
}

.nav-bar ul {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    text-align: right;
    list-style: none;
}

.nav-link, .login {
    color: black;
    padding: 5px;
}

.nav-link:hover {
    color: rgb(4, 139, 218);
}

.nav-link:active {
    color: rgb(25, 201, 255);
}

.login {
    color: white;
    background-color: rgb(4, 139, 218);
    border-radius: 10px;
}

.login:hover {
    background-color: rgb(63, 210, 255);
}

.login:active {
    background-color: rgb(125, 225, 255);
}


/* MAIN BODY STYLING BELOW */


main {
    width: 90vw;
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 100px;
}

main section {
    margin: 100px auto;
}

main p {
    color: rgb(75, 75, 75);
}

main .flex-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.text-div {
    width: 60%;
}

.content-div {
    width: 40%;
}

main hr {
    border: rgb(4, 139, 218) dashed 1px;
}

.first {
    align-items: center;
}

.first svg {
    transform: scalex(-1);
}

svg {
    width: 200px;
    height: 200px;
}

.scroll {
    display: flex;
    justify-content: space-between;
    overflow: auto;
    white-space: nowrap;
}

.scroll-box {
    max-height: 135px;
    max-width: 135px;
    margin: 25px;
    background-color: white;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 40%);
}

.scroll-box:hover {
    transition: all 0.2s ease-in-out;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 70%);
}

.scroll-box a {
    color: black;
    text-decoration: none;
}

.scroll-box i {
    padding: 30px 40px 0 40px;
}

.scroll-box p {
    padding: 20px 0;
}

.how-it-works {
    display: flex;
    justify-content: space-around;
}

.how-it-works div {
    max-width: 25%;
}

.how-it-works .arrow {
    color: rgb(4, 139, 218);
    padding: 40px 20px;
}

.location-search input[type=text] {
    padding: 10px 0;
    margin: 10px 10px 0 0;
    font-family: sans-serif;
    font-size: 11pt;
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 40%);
}

.location-search input[type=text]:hover {
    transition: all 0.2s ease-in-out;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 70%);
}

.location-search button {
    padding: 10px;
    background: rgb(4, 139, 218);
    font-family: sans-serif;
    font-size: 11pt;
    border-radius: 10px;
    border: thin;
    color: white;
    cursor: pointer;
}

.location-search button:hover {
    background-color: rgb(63, 210, 255);
}

.location-search button:active {
    background-color: rgb(125, 225, 255);
}

.review-scroll {
    display: flex;
    justify-content: space-between;
    overflow: auto;
}

.review-box {
    width: 225px;
    height: 340px;
    margin: 25px;
    background-color: rgb(4, 139, 218);
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 40%);
}

.review-box.light {
    background-color: rgb(25, 201, 255);
}

.review {
    min-width: 205px;
    min-height: 165px;
    margin: 165px 10px 10px 10px;
    padding: 10px;
    background-color: white;
    border-radius: 15px;
}

.review-bold {
    font-size: 10pt;
    font-weight: bold;
    text-align: left;
}

.review-small {
    font-size: 8pt;
    text-align: left;
    padding: 12px 0;
}

.review-stars {
    text-align: right;
}

.reviewer {
    text-align: right;
    font-weight: bold;
}

.app-icons img {
    padding: 20px 10px;
}

.google-play {
    height: 35%;
    width: 35%;
}

.app-store {
    height: 32%;
    width: 32%;
}

.collapsible {
    background-color: white;
    cursor: pointer;
    padding: 20px;
    width: 400px;
    border: none;
    border-radius: 15px;
    text-align: left;
    font-size: 11pt;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 40%);
    margin: 10px auto;
    display: flex;
    justify-content: space-between;
}
  
.collapsible:hover {
    transition: all 0.2s ease-in-out;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 70%);
}
  
.content {
    padding: 0 10px;
    width: 400px;
    margin: 0 auto;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}


/* FOOTER STYLING BELOW */


footer {
    background-color: rgb(4, 139, 218);
    padding: 0 20px;
    color: white;
}

footer a {
    color: white;
}

footer section {
    padding: 20px 0;
}

footer .flex-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: center;
}

footer .logo {
    display: inline-flex;
    align-items: center;
}

footer h2 {
    margin: 0;
}

footer ul {
    list-style: none;
    line-height: 1.5rem;
}

.logo-box {
    width: 30%;
    display: flex;
    flex-direction: column;
}

.follow-us {
    display: flex;
    align-items: center;
    padding: 20px 0;
}

.follow-us h4, .follow-us i {
    padding-right: 12px;
}

.footer-box {
    padding-top: 6px;
}

.footer-box table {
    margin: 0 auto;
}

.contact-text {
    padding: 7px 5px;
    display: flex;
    justify-content: left;
}

.offices {
    display: flex;
    justify-content: space-around;
}

.footer-collapsible {
    background-color: white;
    color: rgb(4, 139, 218);
    cursor: pointer;
    padding: 10px 20px;
    border: none;
    border-radius: 15px;
    font-size: 11pt;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 40%);
    margin: 10px auto;
}
  
.footer-collapsible:hover {
    transition: all 0.2s ease-in-out;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 70%);
}

.footer-content {
    padding: 0 10px;
    margin: 0 auto;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.footer-content i {
    padding: 5px;
}

footer hr {
    border: white dashed 1px;
    width: 80%;
    margin: 10px auto;
}

.end {
    font-size: 8pt;
}


/* MEDIA QUERIES BELOW */


@media screen and (max-width: 740px) {
    .nav-bar a {
        font-size: 10pt;
    }
    .flex-section {
        display: flex;
        flex-wrap: wrap;
    }
    svg {
        margin-top: 40px;
    }
    .text-div {
        width: 100%;
    }
    .content-div {
        width: 100%;
    }
    .logo-box {
        width: 100%;
        align-items: center;
    }
    .footer-box {
        width: 33%;
    }
  }

@media screen and (max-width: 475px) {
    .logo {
        display: none;
    }
    .footer-box {
        width: 50%;
        margin: 10px 0;
    }
    .offices {
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 450px) {
    .arrow {
        display: none;
    }
    .collapsible {
        max-width: 100%;
    }
    .content {
        max-width: 100%;
    }
}